{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 10.5 Lab -2 : Clustering"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "from sklearn.cluster import KMeans\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "from sklearn.cluster import AgglomerativeClustering\n",
    "import scipy.cluster.hierarchy as shc\n",
    "\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 10.5.1K-Means Clustering"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# set seed \n",
    "np.random.seed(2)\n",
    "X = np.random.normal(size = (50,2))\n",
    "X[:25,0] += 3 \n",
    "X[:25,1] -= 4"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x7fea079dc820>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(X[:,0],X[:,1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "KMeans(n_clusters=2, n_init=20)"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "clustering = KMeans(n_clusters = 2,n_init=20)\n",
    "clustering.fit(X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "clusters = clustering.predict(X)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x7fea0798bb50>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(X[:, 0], X[:, 1], c=clusters, s=50)\n",
    "\n",
    "centers = clustering.cluster_centers_\n",
    "plt.scatter(centers[:, 0], centers[:, 1],marker = '*', c='red', s=200, alpha=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([24, 26])"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.bincount(clusters)\n",
    "# 24 obs are classified in cluster 1, and 26 in cluster 2/"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Using different values of n_init for k  = 3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, 'N_init = 20')"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x576 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig,ax = plt.subplots(1,2,figsize = (20,8))\n",
    "\n",
    "# n_init = 1\n",
    "clustering = KMeans(n_clusters = 3,n_init=1)\n",
    "clustering.fit(X)\n",
    "\n",
    "clusters = clustering.predict(X)\n",
    "\n",
    "ax[0].scatter(X[:, 0], X[:, 1], c=clusters, s=50)\n",
    "\n",
    "centers = clustering.cluster_centers_\n",
    "ax[0].scatter(centers[:, 0], centers[:, 1],marker = '*', c='red', s=200, alpha=1)\n",
    "ax[0].set_title('N_init = 1')\n",
    "\n",
    "# n_init = 20\n",
    "clustering = KMeans(n_clusters = 3,n_init=20)\n",
    "clustering.fit(X)\n",
    "\n",
    "clusters = clustering.predict(X)\n",
    "\n",
    "ax[1].scatter(X[:, 0], X[:, 1], c=clusters, s=50)\n",
    "\n",
    "centers = clustering.cluster_centers_\n",
    "ax[1].scatter(centers[:, 0], centers[:, 1],marker = '*', c='red', s=200, alpha=1)\n",
    "ax[1].set_title('N_init = 20')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can see from above that almost all of the points are in same cluterts in both of the graphs, except the one we see in the middle right part. <br>\n",
    "It is suggested that we should not go for a very small value of n_init"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 10.5.2  Hierarchical Clustering"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Mean of first feature before scaling -  1.2021804941282386\n",
      "Mean of first feature after scaling -  2.3293866835416566e-16\n"
     ]
    }
   ],
   "source": [
    "# before applying hierachical clutering lets scale the data\n",
    "scaler = StandardScaler()\n",
    "X_scaled = scaler.fit_transform(X)\n",
    "\n",
    "\n",
    "print('Mean of first feature before scaling - ',X[:,0].mean())\n",
    "print('Mean of first feature after scaling - ',X_scaled[:,0].mean())\n",
    "# after scaling, its pretty close to 0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x504 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# dendrogram\n",
    "plt.figure(figsize=(10, 7))  \n",
    "plt.title(\"Dendrograms\")  \n",
    "dend = shc.dendrogram(shc.linkage(X_scaled, method='ward'))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Using heirachical clustering for clustering points in 2 groups"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.lines.Line2D at 0x7fea05aa55b0>"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x504 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(10, 7))  \n",
    "plt.title(\"Dendrograms\")  \n",
    "dend = shc.dendrogram(shc.linkage(X_scaled, method='ward'))\n",
    "plt.axhline(y = 7,c = 'red',linestyle = '--')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,\n",
       "       1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n",
       "       0, 0, 0, 0, 0, 0])"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#getting predictions \n",
    "cluster = AgglomerativeClustering(n_clusters=2, affinity='euclidean', linkage='ward')  \n",
    "# affinity here is the method used for calucating distance, and through linkage we can speify the different types \n",
    "# of linkages\n",
    "cluster.fit_predict(X_scaled)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,\n",
       "       1, 1, 1, 0, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0,\n",
       "       0, 0, 0, 0, 0, 2])"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x504 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 3 CLUTERSabs\n",
    "plt.figure(figsize=(10, 7))  \n",
    "plt.title(\"Dendrograms\")  \n",
    "dend = shc.dendrogram(shc.linkage(X_scaled, method='ward'))\n",
    "plt.axhline(y = 3.4,c = 'red',linestyle = '--')\n",
    "\n",
    "#getting predictions \n",
    "cluster = AgglomerativeClustering(n_clusters=3, affinity='euclidean', linkage='ward')  \n",
    "# affinity here is the method used for calucating distance, and through linkage we can speify the different types \n",
    "# of linkages\n",
    "cluster.fit_predict(X_scaled)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
